- Создатель Неизвестный пользователь (a.s.voronin@rt-sk.ru), отредактировано янв 07, 2025
OLD GIT - https://git.gosuslugi.local/ervu/source/mz-xsd-storage/-/tree/master/fns-idern
GIT (вынесено в отдельный репозиторий в рамках Невозможно найти сервер Jira для этого макроса. Причиной может быть конфигурация ссылки на приложение. ) - https://git.gosuslugi.local/ervu/source/mz-fns-idern/-/tree/dev
Описание
Сервис для работы с ВС "Предоставление сведений о номере записи федерального регистра сведений о населении (ЕРН)"
Сервис вынесен в отдельный репозиторий с использованием библиотеки mzServiceCore
Назначение
Сервис реализует запрос данных из ФОИВ ФНС для получения ИД ЕРН гражданина. Запрос вызывается при заведении карточки гражданина вручную
Сервисом- инициатором запроса выступает сервис ervu-person-registry, в сервисе-имплементации сообщение преобразуется в XML сообщение по формату ВС https://lkuv.gosuslugi.ru/paip-portal/#/inquiries/card/f12e8706-bffa-11ec-b8e7-51d662e7a060
На текущий момент работает с версией ВС 1.0.0
Kafka
Consumer
- mz.in.requet
- mz.out.respone
- mz.fns.request.file
Producer
- pgs.proxy.endpoints.access.info
- mz.impl.info
- mz.impl.mock
- mz.scenario.info
- mz.out.request
- mz.in.response
- mz.in.json.response
- mz.fns.request.file
S3
Сервис имеет доступ к корзинам mz-attachment и stat-report-scheduler
Формат запроса и примеры обмена
Схема передачи данных
В XSD-схеме вида сведений блок запроса и блок ответа представлены в одной схеме. В статье схема разбита на два блока для удобства восприятия
Схема передачи данных в запросе
class: IDERNRequest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | <xs:element name="IDERNRequest"> <xs:annotation> <xs:documentation>Запрос на предоставление сведений о номере записи федерального регистра сведений о населении (ЕРН) </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Документ" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Сведения о физических лицах, в отношении которых сформирован запрос</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="СведФЛ"> <xs:annotation> <xs:documentation>Сведения о физическом лице, в отношении которого сформирован запрос</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:choice> <xs:element name="ПрПол"> <xs:annotation> <xs:documentation>Признак отсутствия сведений о половой принадлежности ФЛ </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-1"> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Пол"> <xs:annotation> <xs:documentation>Пол физического лица</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-1"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:choice> <xs:choice> <xs:element name="ПрДатаРожд"> <xs:annotation> <xs:documentation>Признак отсутствия сведений о дате рождения </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-1"> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ДатаРожд" type="xs:date"> <xs:annotation> <xs:documentation>Дата рождения (календарная дата)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ДатаРождДок" type="fnst:ДатаДокТип"> <xs:annotation> <xs:documentation>Дата рождения по представленным документам (неполная дата)</xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:choice> <xs:element name="ПрДатаСмерт"> <xs:annotation> <xs:documentation>Признак отсутствия сведений о дате смерти умершего</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-1"> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ДатаСмерт" type="xs:date"> <xs:annotation> <xs:documentation>Дата смерти (календарная дата)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ДатаСмертДок" type="fnst:ДатаДокТип"> <xs:annotation> <xs:documentation>Дата смерти по представленным документам (неполная дата)</xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:element name="ФИО" type="fnst:ФИОТип"> <xs:annotation> <xs:documentation>Фамилия, имя, отчество</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:choice> <xs:element name="ИдФЛ"> <xs:annotation> <xs:documentation>Идентификаторы физического лица</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="СНИЛС" type="fnst:СНИЛСTип" use="optional"> <xs:annotation> <xs:documentation>СНИЛС</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ИННФЛ" type="fnst:ИННФЛТип" use="optional"> <xs:annotation> <xs:documentation>ИНН физического лица</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="НомЗапРожд" type="fnst:string1_22" use="optional"> <xs:annotation> <xs:documentation>Номер записи акта гражданского состояния о рождении</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ДатаАктЗап" type="xs:date"> <xs:annotation> <xs:documentation>Дата записи акта гражданского состояния о рождении</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ИдЕСИА" type="fnst:string1_255" use="optional"> <xs:annotation> <xs:documentation>Уникальный идентификатор учетной записи ЕСИА</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="УдЛичнФЛ" type="fnst:УдЛичнФЛТип"> <xs:annotation> <xs:documentation>Документ, удостоверяющий личность физического лица</xs:documentation> </xs:annotation> </xs:element> <xs:element name="СведПатентРР"> <xs:annotation> <xs:documentation>Сведения о патенте и разрешении на работу</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="ТипДок" use="required"> <xs:annotation> <xs:documentation>Тип документа</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-1"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="СерДок" use="required"> <xs:annotation> <xs:documentation>Серия документа</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="25"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="НомДок" use="required"> <xs:annotation> <xs:documentation>Номер документа</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="25"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="ДатаВыд" type="xs:date" use="required"> <xs:annotation> <xs:documentation>Дата выдачи документа</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="ИдДок" type="fnst:string1_36" use="required"> <xs:annotation> <xs:documentation>Идентификатор документа</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ПричДок" use="required"> <xs:annotation> <xs:documentation>Причина запроса сведений</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:number-1"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> <xs:enumeration value="4"/> <xs:enumeration value="5"/> <xs:enumeration value="6"/> <xs:enumeration value="7"/> <xs:enumeration value="8"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="ИдСвед" type="fnst:string1_36" use="required"> <xs:annotation> <xs:documentation>Идентификатор запроса на предоставление информации</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ДатаСвед" type="xs:date" use="required"> <xs:annotation> <xs:documentation>Дата формирования запроса </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="КолДок" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Количество документов</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> |
Схема передачи данных в ответе
class: IDERNResponse
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | <xs:element name="IDERNResponse"> <xs:annotation> <xs:documentation>Ответ на запрос на предоставление сведений о номере записи федерального регистра сведений о населении (ЕРН) </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="РезЗапрос"> <xs:annotation> <xs:documentation>Результат обработки пакета запроса</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice> <xs:element name="РезОбраб" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Результат обработки запроса по физическому лицу</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="ОшибДок" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Информация о выявленных ошибках</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="КодОш" type="fnst:string1_5"> <xs:annotation> <xs:documentation>Код ошибки</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ИдОшиб" type="fnst:string1_255"> <xs:annotation> <xs:documentation>Идентификатор ошибки</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ПолОшЭл" type="fnst:string1_1000" minOccurs="0"> <xs:annotation> <xs:documentation>Местоположение элемента в XML файле, по которому выявлена ошибка</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ЗначОшЭл" type="fnst:string1_1000" minOccurs="0"> <xs:annotation> <xs:documentation>Значение элемента, по которому выявлена ошибка</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ТекстОш" type="fnst:string1_2000"> <xs:annotation> <xs:documentation>Текст сообщения об ошибке</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="СведФЛ" minOccurs="0"> <xs:annotation> <xs:documentation>Сведения о физическом лице, в отношении которого сформирован запрос</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="ИдЕРН" type="fnst:string-12" use="required"> <xs:annotation> <xs:documentation>ИД ЕРН (уникальный идентификатор записи, содержащей сведения о физическом лице в ЕРН)</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="ИдДок" type="fnst:string1_36" use="required"> <xs:annotation> <xs:documentation>Идентификатор документа</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="СтатусОбраб" use="required"> <xs:annotation> <xs:documentation>Статус обработки запроса</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-2"> <xs:enumeration value="01"/> <xs:enumeration value="02"/> <xs:enumeration value="03"/> <xs:enumeration value="04"/> <xs:enumeration value="05"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="ОшибФайл" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Информация о выявленных ошибках уровня пакета</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="КодОш"> <xs:annotation> <xs:documentation>Код ошибки</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-2"> <xs:enumeration value="01"/> <xs:enumeration value="02"/> <xs:enumeration value="03"/> <xs:enumeration value="06"/> <xs:enumeration value="07"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ИдОш" type="fnst:string1_255"> <xs:annotation> <xs:documentation>Идентификатор ошибки</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ТипОш" type="fnst:string1_255"> <xs:annotation> <xs:documentation>Тип ошибки</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ПолОшЭл" type="fnst:string1_1000" minOccurs="0"> <xs:annotation> <xs:documentation>Местоположение элемента в XML файле, по которому выявлена ошибка</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ЗначОшЭл" type="fnst:string1_1000" minOccurs="0"> <xs:annotation> <xs:documentation>Значение элемента, по которому выявлена ошибка</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ТекстОш" type="fnst:string1_2000" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Текст сообщения об ошибке</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> <xs:attribute name="ИдСвед" type="fnst:string1_36" use="required"> <xs:annotation> <xs:documentation>Идентификатор запроса на предоставление информации</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ЗаявКолДок" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Заявленое количество запросов</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ПринКолДок" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Количество запросов в файле, принятых без ошибок</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="НеПринКолДок" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Количество не принятых запросов в файле</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="НайденКолДок" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Количество запросов, по которым найден ИД ЕРН</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="НеНайденКолДок" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Количествозапросов, по которым не найден ИД ЕРН</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ПоискОш" type="fnst:number-9" use="required"> <xs:annotation> <xs:documentation>Количество запросов, по которым возникла ошибка при поиске</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="СтатусФайл" use="required"> <xs:annotation> <xs:documentation>Статус обработки файла</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="fnst:string-1"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="ИдОтвет" type="fnst:string1_36" use="required"> <xs:annotation> <xs:documentation>Идентификатор ответа</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ДатаОтвет" type="xs:date" use="required"> <xs:annotation> <xs:documentation>Дата формирования ответа</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> |
Пример запроса
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?xml version="1.0" encoding="UTF-8"?><tns:IDERNRequest xmlns:tns="urn://x-artefacts-fns-idern/root/1.0.0" xmlns:fnst="urn://x-artefacts-fns-idern/types/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ИдСвед="ed9ed139-2cfd-4b28-898d-857d14b98f07" ДатаСвед="2021-08-13" КолДок="1"> <tns:Документ ИдДок="ed9ed500-2cfd-4b30-898d-860d14b98f10" ПричДок="3"> <tns:СведФЛ> <tns:ПрПол>1</tns:ПрПол> <tns:ДатаРожд>2001-08-13</tns:ДатаРожд> <tns:ПрДатаСмерт>1</tns:ПрДатаСмерт> <tns:ФИО> <fnst:Фамилия>Гиназлин</fnst:Фамилия> <fnst:Имя>Игорь</fnst:Имя> <fnst:Отчество>Станиславович</fnst:Отчество> </tns:ФИО> </tns:СведФЛ> <tns:ИдФЛ СНИЛС="111-356-478 23"/> </tns:Документ></tns:IDERNRequest> |
Пример ответа
1 2 3 4 5 6 7 8 | <?xml version="1.0" encoding="UTF-8"?><tns:IDERNResponse xmlns:tns="urn://x-artefacts-fns-idern/root/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ИдОтвет="d1eee202-c5b2-4f98-8fb9-91575c603496" ДатаОтвет="2021-08-16"> <tns:РезЗапрос
ИдСвед="ed9ed139-2cfd-4b28-898d-857d14b98f07" ЗаявКолДок="1"
ПринКолДок="1" НеПринКолДок="0" НайденКолДок="1" НеНайденКолДок="0"
ПоискОш="0" СтатусФайл="0"> <tns:РезОбраб ИдДок="ed9ed500-2cfd-4b30-898d-860d14b98f10" СтатусОбраб="01"> <tns:СведФЛ ИдЕРН="123456789012"/> </tns:РезОбраб> </tns:РезЗапрос></tns:IDERNResponse> |
Отображение на фронте
Журнал входящих и исходящих сообщений СМЭВ

Вкладка "История" рекрута
В данном примере рекрут тестовый, поэтому ответ получен некорректный

- Нет меток
- Редактировать метки
Добавить комментарий